package cn.song.freight.domain.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;

/**
 * 修改区域请求参数
 *
 * @author SongRenShuo
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "修改区域请求参数")
public class AreaUpdateDTO {

    /**
     * 区域id
     */
    @NotNull(message = "区域id不能为空")
    @ApiModelProperty(value = "区域id", required = true)
    private Long areaId;

    /**
     * 省份编码（如：110000）
     */
    @ApiModelProperty(value = "省份编码（如：110000）")
    private String provinceCode;

    /**
     * 城市编码（如：110100），仅 level>=2 时非空
     */
    @ApiModelProperty(value = "城市编码（如：110100），仅 level>=2 时非空")
    private String cityCode;

    /**
     * 县区编码（如：110101），仅 level=3 时非空
     */
    @ApiModelProperty(value = "县区编码（如：110101），仅 level=3 时非空")
    private String districtCode;

    /**
     * 省份全称（如：北京市、广东省、新疆维吾尔自治区）
     */
    @ApiModelProperty(value = "省份全称（如：北京市、广东省、新疆维吾尔自治区）")
    private String provinceName;

    /**
     * 城市全称（如：北京市、广州市），level>=2 时非空
     */
    @ApiModelProperty(value = "城市全称（如：北京市、广州市），level>=2 时非空")
    private String cityName;

    /**
     * 区县全称（如：朝阳区、天河区），level=3 时非空
     */
    @ApiModelProperty(value = "区县全称（如：朝阳区、天河区），level=3 时非空")
    private String districtName;

    /**
     * 省份简称（如：北京、广东、新疆）
     */
    @ApiModelProperty(value = "省份简称（如：北京、广东、新疆）")
    private String provinceShortName;

    /**
     * 城市简称（如：北京、广州、深圳）
     */
    @ApiModelProperty(value = "城市简称（如：北京、广州、深圳）")
    private String cityShortName;

    /**
     * 区县简称（如：朝阳、天河、南山）
     */
    @ApiModelProperty(value = "区县简称（如：朝阳、天河、南山）")
    private String districtShortName;

    /**
     * 地址层级：1-省份，2-城市，3-区县
     */
    @ApiModelProperty(value = "地址层级：1-省份，2-城市，3-区县")
    private Integer level;
}
